deferred class IUP_WIDGET_EXPAND
-- Commands to handle the attributes related with expand.

inherit
	IUP_WIDGET_INTERNALS
	
insert
	IUP_INTERFACE

feature {ANY}

	set_expand (type: STRING)
		-- Allows the element to expand, fulfilling empty spaces inside its
		-- container. For a container, the actual EXPAND value will be always 
		-- a combination of its own value and the value of its children. In 
		-- the sense that a container can only expand if its children can 
		-- expand too in the same direction.
		-- Values: "YES" (both directions), "HORIZONTAL", "VERTICAL",
		-- "HORIZONTALFREE", "VERTICALFREE" or "NO".
		-- Default: "NO". For containers the default is "YES."
		require
			valid_expand: is_valid_expand(type)
		do
			iup_open.set_attribute(Current, "EXPAND", type)
		end

	get_expand: STRING
	   -- Return the expanded type of the element.
		do
			Result := iup_open.get_attribute(Current, "EXPAND")
		end

	set_expand_both_directions
		do
			iup_open.set_attribute(Current, "EXPAND", "YES")
		end

	set_expand_horizontal
		do
			iup_open.set_attribute(Current, "EXPAND", "HORIZONTAL")
		end

	set_expand_vertical
		do
			iup_open.set_attribute(Current, "EXPAND", "VERTICAL")
		end

	set_expand_horizontal_free
		do
			iup_open.set_attribute(Current, "EXPAND", "HORIZONTALFREE")
		end

	set_expand_vertical_free
		do
			iup_open.set_attribute(Current, "EXPAND", "VERTICALFREE")
		end

	set_expand_no
		do
			iup_open.set_attribute(Current, "EXPAND", "NO")
		end

end

-- The MIT License (MIT)

-- Copyright (c) 2016 by German A. Arias

-- Permission is hereby granted, free of charge, to any person obtaining a copy
-- of this software and associated documentation files (the "Software"), to deal
-- in the Software without restriction, including without limitation the rights
-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-- copies of the Software, and to permit persons to whom the Software is
-- furnished to do so, subject to the following conditions:
--
-- The above copyright notice and this permission notice shall be included in 
-- all copies or substantial portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-- SOFTWARE.
